package cn.edu.bzu.ie.sf.mealsmisweb.mapper;

import cn.edu.bzu.ie.sf.mealsmisweb.entity.Fireman;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

/**
 * @version v1.0.0
 * @Package : cn.edu.bzu.ie.sf.mealsmisweb.mapper
 * @Description : TODO
 * @Create on : 2021/8/12 19:03
 * @author: Feng Song 宋锋
 **/
@Repository
public interface FiremanMapper extends Mapper<Fireman> {
    /**
     * 取得某个部门下的所有的消防员信息
     * @param depid 部门信息
     * @return List<Fireman> 消防员集合
     */
    @Select("select * from fireman where depid=#{depid}")
    List<Fireman> getFiremanListByDepid(int depid);

    /**
     * 取得某个部门下的所有明天过生日的消防员信息
     * @param depid 部门信息
     * @return List<Fireman> 消防员集合
     */
    @Select("select * from fireman where depid=#{depid} and birthday=#{dtTomorrow}")
    List<Fireman> getFiremanListByDepidAndBirthTomorrow(int depid, String dtTomorrow);


    /**
     * 添加消防员信息的方法
     * @param item 要添加的消防员信息
     * @return int 影响的行数
     */
    @Insert("insert into fireman(fm_name, depid, birthday, birthstr, uid, create_dt) " +
            " values(#{fm_name}, #{depid}, #{birthday}, #{birthstr}, #{uid}, #{create_dt})")
    int addFireman(Fireman item);

    /**
     * 修改消防员信息的方法
     * @param item 要修改的消防员信息
     * @return int 影响的行数
     */
    @Update("update fireman set fm_name=#{fm_name}, birthday=#{birthday}, birthstr=#{birthstr} where id=#{id}")
    int editFireman(Fireman item);

    /**
     * 删除消防员信息的方法
     * @param id 要删除的消防员信息
     * @return int 影响的行数
     */
    @Delete("delete from fireman where id=#{id}")
    int delFireman(int id);
}
